d657b977d906cbbf9ec83aca99e63c2b6f5dbd9c,src/com/avail/descriptor/MessageBundleTreeDescriptor.java,MessageBundleTreeDescriptor,o_RemovePlan,#AvailObject#A_DefinitionParsingPlan#,762

Before Change


		final AvailObject object,
		final A_DefinitionParsingPlan plan)
	{
		synchronized (object)
		{
			final A_Bundle bundle = plan.bundle();
			final A_Definition definition = plan.definition();
			A_Map allPlans = object.slot(ALL_PLANS);
			assert allPlans.hasKey(bundle);
			A_Map submap = allPlans.mapAt(bundle);
			submap = submap.mapWithoutKeyCanDestroy(definition, true);
			if (submap.mapSize() == 0)
			{
				allPlans = allPlans.mapWithoutKeyCanDestroy(bundle, true);
			}
			else
			{
				allPlans = allPlans.mapAtPuttingCanDestroy(
					bundle, submap, true);
			}
			object.setSlot(ALL_PLANS, allPlans.makeShared());
			// And remove it from unclassified.
			A_Map unclassified = object.slot(UNCLASSIFIED);
			if (unclassified.hasKey(bundle))
			{
				A_Map unclassifiedSubmap = unclassified.mapAt(bundle);
				unclassifiedSubmap = unclassifiedSubmap.mapWithoutKeyCanDestroy(
					definition, true);
				if (unclassifiedSubmap.mapSize() == 0)
				{
					unclassified = unclassified.mapWithoutKeyCanDestroy(
						bundle, true);
				}
				else
				{
					unclassified = unclassified.mapAtPuttingCanDestroy(
						bundle, unclassifiedSubmap, true);
				}
				object.setSlot(UNCLASSIFIED, unclassified.makeShared());
			}
		}
	}

After Change


	 */
	@Override
	void o_RemovePlanInProgress (
		final AvailObject object,
		final A_ParsingPlanInProgress planInProgress)
	{
		synchronized (object)
		{
			object.setSlot(
				ALL_PLANS_IN_PROGRESS,
				layeredMapWithoutPlan(
					object.slot(ALL_PLANS_IN_PROGRESS), planInProgress));
			object.setSlot(
				UNCLASSIFIED,
				layeredMapWithoutPlan(